Programmable logic devices (PLDs) are integrated circuits (ICs) that include logic blocks that can be configured to perform different functions. PLDs typically include different blocks to accommodate various logic functions and protocols. For instance, PLDs may have configurable elements that may be programmed or reprogrammed. These elements may be configured or programmed through random access memory (RAM) bits, registers, or other memory elements, among others.
Generally speaking, different settings can be set by changing the corresponding values of the configurable elements, e.g., a configurable RAM or CRAM. For instance, a transceiver block in a PLD can be reconfigured by changing specific values in a programmable register in the PLD. Settings of various configurable elements in the PLD may need to be reconfigured to accommodate multiple requirements. A transceiver block in a PLD, for example, may need to be reconfigured for various purposes, e.g., switching from one protocol to another, changing the data rate, etc.
Typically, in order to change or reconfigure some of the settings in a reconfigurable element, every word in the CRAM register, or any other elements that are used to store these settings, has to be reprogrammed. Even though the changes made may only affect a few words in the configuration register, every word in the register needs to be reprogrammed. Often times, in such cases, the same content is rewritten into the configuration register because only very few words in the configuration register are changed in the reconfiguration. This is time consuming as more words, i.e., configuration data values, than necessary are written to the configuration register.
Therefore, it is desirable to have a mechanism that writes or reprograms only the words that are different from the existing value in the configuration register. In other words, when a setting on a configurable element is changed or updated, only the corresponding configuration data values are changed. Configuration data values that are not affected by the change do not need to be rewritten.
It is within this context that the invention arises.